package com.songlanyun.modules.sysbill.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.songlanyun.common.enums.BillConstant;
import com.songlanyun.common.enums.OrderConstant;
import com.songlanyun.common.utils.PageUtils;
import com.songlanyun.modules.sysbill.entity.SysBill;

import java.math.BigDecimal;
import java.util.Map;

/**
 * 系统帐单
 *
 * @author Mark
 * @email sunlightcs@gmail.com
 * @date 2020-11-20 09:53:18
 */
public interface SysBillService extends IService<SysBill> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 保存入账系统账单     -- 没有则传""
     *
     * @param payMode      支付方式
     * @param billType     账单类型
     * @param money        账单金额
     * @param businessCode 业务单号
     * @param thirdPayCode 第三方单号
     * @param userMobile   会员手机号
     */
    void saveIncomeBill(OrderConstant.PayMode payMode, BillConstant.BillType billType,BigDecimal money,
                        String businessCode, String thirdPayCode, String userMobile);

    /**
     * 保存出账平台账单     -- 没有则传""
     *
     * @param payMode         支付方式
     * @param billType        账单类型
     * @param money           账单金额
     * @param businessCode    业务单号
     * @param thirdPayCode    第三方单号
     * @param payee           收款人
     * @param withdrawAccount 提现账号
     * @param withdrawMobile  提现手机号
     * @param shopName        商家名称
     * @param bankName        银行卡名称
     * @param userMobile      会员手机号
     */
    void saveExpenditureBill(OrderConstant.PayMode payMode, BillConstant.BillType billType, BigDecimal money,
                             String businessCode, String thirdPayCode, String payee,
                             String withdrawAccount, String withdrawMobile, String shopName, String bankName, String userMobile);
}

